import java.util.Arrays;

public class Solution {



    //临界点的题 二分
    public static int minArray(int[] numbers) {
        //3 4 5 1 2 3 3 3
        //3 4 5 1 2
        int n = numbers.length-1;
        if(n<0) return -1;
        while(n>0 && numbers[n] == numbers[0]) n--;
        //本身就是一个有序数组
        if(numbers[0]<=numbers[n]) return numbers[0];
        //二分查找
        int l = 0,r= n;
        while(l<r){
            int mid = (l+r)/2;
            if(numbers[mid]<numbers[0]) r= mid;
            else l =mid+1;
        }
        return numbers[l];
    }

    public static void main(String[] args) {
//        int[] arr= {2,2,2,0,1};
        int[] arr= {3 ,4 ,5,6 ,1 ,2 ,3 ,3 ,3};
         int res=minArray(arr);
        System.out.println(res);
    }
}
